package proyecto.service;

import java.util.List;

import proyecto.dao.PeliculaDAO;
import proyecto.dao.CensuraDAO;
import proyecto.dao.GeneroDAO;
import proyecto.excepcion.DAOExcepcion;
import proyecto.modelo.Censura;
import proyecto.modelo.Genero;
import proyecto.modelo.Pelicula;

public class PeliculaServiceImpl implements PeliculaService {
	
	PeliculaDAO peliculaDAO;
	CensuraDAO censuraDAO;
	GeneroDAO generoDAO;
	
	public PeliculaDAO getPeliculaDAO() {
		return peliculaDAO;
	}

	public void setPeliculaDAO(PeliculaDAO peliculaDAO) {
		this.peliculaDAO = peliculaDAO;
	}
	
	public CensuraDAO getCensuraDAO() {
		return censuraDAO;
	}

	public void setCensuraDAO(CensuraDAO censuraDAO) {
		this.censuraDAO = censuraDAO;
	}

	public GeneroDAO getGeneroDAO() {
		return generoDAO;
	}

	public void setGeneroDAO(GeneroDAO generoDAO) {
		this.generoDAO = generoDAO;
	}

	public Pelicula registrar(Pelicula pelicula) throws DAOExcepcion {
		peliculaDAO.insertar(pelicula);
		return pelicula;
	}

	public List<Pelicula> listar() throws DAOExcepcion {
		return peliculaDAO.listar();
	}

	public void eliminar(int codigo) throws DAOExcepcion {
		peliculaDAO.eliminar(codigo);
		
	}

	public Pelicula actualizar(Pelicula pelicula) throws DAOExcepcion {
		peliculaDAO.actualizar(pelicula);
		return pelicula;
	}

	public Pelicula obtenerPorCodigo(int codigo) throws DAOExcepcion {
		return peliculaDAO.obtener(codigo);
	}

	public Censura obtenerCensuraPorCodigo(String codigo) throws DAOExcepcion {
		return censuraDAO.obtener(codigo);
	}

	public Genero obtenerGeneroPorCodigo(String codigo) throws DAOExcepcion {
		return generoDAO.obtener(codigo);
	}

}
